#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->pushButton,&QPushButton::clicked,this,&Widget::Handlerslot1);
    //创建一个新的按钮，该按钮使用lambda表达式即可执行
    QPushButton* button = new QPushButton(this);
    button->setText("新按钮");
    button->move(0,500);
    connect(button,&QPushButton::clicked,this,[button,this](){
        this->setWindowTitle("新按钮触发");
        qDebug() << "触发新机制";
    });
}

Widget::~Widget()
{
    delete ui;
}

void Widget::Handlerslot1()
{
    qDebug() << "1";
    this->setWindowTitle("窗口1");
}

void Widget::Handlerslot2()
{
    //后续再次点击第一个按钮的时候的内容都会是新内容
    qDebug() << "2";
    this->setWindowTitle("新窗口");
}


void Widget::on_pushButton_2_clicked()
{
    //取消button1的连接
    disconnect(ui->pushButton,&QPushButton::clicked,this,&Widget::Handlerslot1);
    //建立新的连接
    connect(ui->pushButton,&QPushButton::clicked,this,&Widget::Handlerslot2);
}
